var $j = jQuery.noConflict();

$j(document).ready(function(e) {

  function initColorbox() {
    $j(".product-gallery").colorbox({
      rel : "product-gallery",
      current : function() {
        var currImg = $j(this).attr("href");
        // Grab basename, as initial main image url can differ from corresponding thumb url
        var baseName = currImg.replace(/^.*\/|\.[^.]*$/g, '');
        var pos;
        var total = $j("#thumbs li a").length;
        // Check index by searching for filename in list items
        $j("#thumbs li a").each(function() {
          if ($j(this).attr("href").indexOf(baseName) != -1) {
            pos = $j(this).parent().index();
          }
        });

        return "" + (pos + 1) + " of " + total;
      },
      onOpen : updateGallery,
      onComplete : function() {
        $j("#cboxTitle").hide();
      }
    });
  }

  function updateGallery() {
    // Remove main product image's corresponding thumb from colorbox group to prevent duplication
    var mainProdImg = $j(".main-prod-img").attr("href");

    // Grab basename, as initial main image url can differ from corresponding thumb url
    var mainProdBaseName = mainProdImg.replace(/^.*\/|\.[^.]*$/g, '');

    $j("#thumbs li a").each(function() {
      if ($j(this).attr("href").indexOf(mainProdBaseName) != -1) {
        $j(this).removeClass("product-gallery");
      } else {
        $j(this).addClass("product-gallery");
      }
    });

    // Re-init gallery
    initColorbox();
  }

  initColorbox();
  updateGallery();

  $j(".prod-more-view").click(function() {
    var imgFull = $j(this).attr("href");
    $j(".product-image a").attr("href", imgFull);
    $j(".product-image img").attr("src", imgFull);
    return false;
  });
});